from datetime import datetime

# 商品信息（名称、数量、单价）
goods = [
    {"name": "凯蒂猫", "quantity": 1, "unit_price": 180.00},
    {"name": "蛋糕", "quantity": 1, "unit_price": 220.00},
    {"name": "劳斯莱斯", "quantity": 1, "unit_price": 120.00}
]

# 计算总额（确保为 520）
total_amount = sum(item["unit_price"] for item in goods)
# 若计算结果不是 520，可手动赋值（这里示例商品总额刚好为 520）

# 其他金额（无折扣，所以折后、实收、找零与总额一致）
discounted_total = total_amount
received = total_amount
change = 0.00

# 打印小票
print("....................................")
print("单号: DH202510160001")
now = datetime.now()
print(f"时间: {now.strftime('%Y-%m-%d %H:%M:%S')}")
print("....................................")

# 表头（严格控制列宽）
print(f"{'名称':<12}{'数量':<8}{'单价':<10}{'金额':<10}")

for item in goods:
    # 每行商品信息，列宽与表头对应
    print(f"{item['name']:<12}{item['quantity']:<8}{item['unit_price']:<10.2f}{item['unit_price']:<10.2f}")

print("....................................")
print(f"总数: {len(goods)}")
print(f"总额: {total_amount:.2f}")
print(f"折后总额: {discounted_total:.2f}")
print(f"实收: {received:.2f}")
print(f"找零: {change:.2f}")
print("收银: 管理员")
print("....................................")